Coordinate input apparatus, control method thereof, and program

ABSTRACT

Position coordinates in a space defined by the first to third axes of a coordinate input pointing tool are calculated. A coordinate output form includes at least an absolute coordinate output form in which calculated coordinate values are directly output, and a relative coordinate output form in which the differential values between the calculated coordinate values and predetermined coordinate values are output. The value of the first axis of the calculated coordinate values is compared with a predetermined value. It is determined whether the coordinate values of the second and third axes of the calculated coordinate values fall within a predetermined range. The calculated coordinate values are output in a coordinate output form determined on the basis of the comparison result and determination result.

FIELD OF THE INVENTION

The present invention relates to a coordinate input apparatus whichdetects the position coordinates of a coordinate input pointing tool, acontrol method of the coordinate input apparatus, and a program.

BACKGROUND OF THE INVENTION

Conventionally, apparatuses which can realize a paper-pencilrelationship are known, in which a coordinate input apparatus capable ofinputting coordinates is placed on the display screen of a displayapparatus such as a CRT display, a liquid crystal display (LCD), or aprojector so that operator's pointing or handscript by a pointing toolis displayed on the display apparatus.

There are coordinate input apparatuses of a type that uses a transparentinput plate, including a resistive film type, an electrostatic type, andan ultrasonic wave type which propagates an ultrasonic wave to acoordinate input surface made of glass or the like. Some coordinateinput apparatuses are of an optical type or type which detects aposition by radiating a sonic wave into the air. In some coordinateinput apparatuses of an electromagnetic induction (electromagnetictransmitting/receiving) type, a mechanism for calculating coordinates isplaced behind a display apparatus while a transparent protective plateis placed in front of the display apparatus, thereby constructing aninput/output integrated information device.

Such information devices have been used for electronic notepads atfirst. Along with an increase in the size of display apparatuses,information devices such as a relatively large pen input computer arealso becoming popular. Such information devices are combined withwide-screen display apparatuses such as front projectors, rearprojectors, or PDPs and used as, e.g., presentation apparatuses or videoconference systems. For display apparatuses such as wide-screen liquidcrystal displays or PDP displays, image quality improvement and costreduction are still progressing. As satellite broadcasting and the likeare switching to digital broadcasting systems, the specifications andforms of TV sets are also entering a transitory stage.

These wide-screen display apparatuses are replacing, e.g., whiteboardsor electronic blackboards used in offices and are used at meetings orbriefings by displaying material data that are prepared in personalcomputers in advance on the wide-screen display apparatuses. In thiscase, information displayed on the wide-screen display apparatus can beupdated by an operator or a participant by directly touching the screenlike a whiteboard so that, e.g., the display contents on the displayscreen can be switched by controlling the personal computer.

In a coordinate input apparatus of this type, particularly, in acoordinate input apparatus of a resistive film type or electrostatictype, however, it is difficult to form a completely transparent inputplate, and therefore, the image quality on the display apparatus is low.

In an apparatus of an ultrasonic wave scheme which requires apropagation medium such as a glass plate, the glass surface must beoptically processed to prevent, e.g., glare of a fluorescent lamp forindoor use. Hence, if the image quality should be maintained, the costinevitably largely increases.

In an apparatus of an electromagnetic induction type, an electrode on amatrix is arranged on the lower side of the display screen totransmit/receive an electromagnetic signal to/from a pointing tool. Forthis reason, when the display apparatus becomes bulky and thick,coordinate calculation is difficult in principle. Additionally, alarge-scale coordinate input apparatus for the purpose of conference orpresentation is very expensive.

Since a large display system is employed assuming watching by a largeaudience, a sufficient image view angle and contrast are required.Hence, when such a large display system and coordinate input apparatusare combined, it is important to make it possible to accuratelycalculate coordinates at a sufficiently low cost and prevent anydegradation in image quality of the display apparatus.

When a large input/output integrated system of this type, and briefingsassuming many participants or the age of networking are taken intoconsideration, an arrangement that allows the operator to control anexternal device such as a personal computer and appropriately displaynecessary information by directly touching the screen is advantageousfor the operator (presenter) from the viewpoint of operability.

In addition, when the operator directly operates information on thescreen, listeners as many participants can obtain information such asthe point indicated by the operator or the expression or gesture of theoperator simultaneously with the information displayed on the screen.This helps better understanding.

However, if the operator directly takes an action to, e.g., indicate aspecific position on the display screen of the large display apparatusof this type, information on the screen is hidden by the operator whomoves at that time. Especially in a system that employs a displayapparatus of a projection type such as a front projector or OHP, theimage is greatly distorted, resulting in difficulty to see.

To solve the problem of obstruction on the optical path, the operatormay execute an operation like a mouse manipulation (an operation ofmoving, e.g., a cursor on the basis of not absolute coordinates butrelative coordinates) by using a pointing tool to move the cursor fromthe current position to a desired position.

The method of inputting relative coordinates will be described indetail. Assume that, for example, coordinate values (X1,Y1) are detectedat given time by operator's operation, and then, the pointing tool ismoved, and the coordinate input apparatus detects coordinate values(X2,Y2). The moving amounts are given by (ΔX,ΔY) (ΔX=X2−X1,ΔY=Y2−Y1).

When the cursor is moved on the basis of the moving amounts (ΔX,ΔY),i.e., the moving amounts from the current arbitrary cursor position, thecursor can be moved as the operator's will (the direction and movingdistance equal the moving direction and moving amount of the pointingtool). That is, instead of directly locating the pointing tool to apredetermined position on a wide screen, the operator can move thecursor to the predetermined position without changing the position ofhis/her own.

For the coordinate input apparatus, character input or drawing bydirectly touching the screen (when the pointing tool is moved, ahandscript to the moving position remains as an echo back as if therewere a relationship of paper and a pencil) or command generation bydouble-click on an icon are important functions.

That is, in a system of this type, the operation mode for outputtingabsolute coordinates is essential. It is important to simultaneouslyrealize this operation and the above-described relative operation.

Various arrangements are disclosed as methods of switching the operationmode. For example, in a method disclosed in Japanese Patent Laid-OpenNo. 4-299724, the display area is divided into an area where absolutecoordinates can be input and an area where relative coordinates can beinput. In addition, in methods disclosed in Japanese Patent Laid-OpenNos. 5-298014 and 10-333817, a relative/absolute coordinate switchingmeans is used, or the operation is automatically switched in accordancewith the application.

There is also disclosed a method of setting an offset value with respectto absolute coordinates, as disclosed in Japanese Patent Laid-Open No.10-149253, or a method of processing coordinates in accordance with themoving speed of the pointing tool.

The method of dividing the area and the method of switching theoperation mode in accordance with the application presume coordinatedetection in the display area and disclose how to process detectedcoordinates. For example, when absolute point indication is to beexecuted in the area where relative coordinates can be detected, the setarea must be set again, and the area containing the desired pointposition must be set as the area for absolute coordinate detection. Somesetting is required even in the method of switching the operation on thebasis of the application. The operation is very cumbersome.

In the arrangement having the switching means or the method of settingan offset amount by a specific operation, the specific operation such asswitching occurs in accordance with the application purpose. Such anarrangement is not sufficiently advantageous from the viewpoint ofoperability. In the method of processing coordinates on the basis of themoving speed of the pointing tool, long-distance movement of a cursorcan be realized by a small operation at hand. However, it is verydifficult to input a character or draw a graphic pattern.

When a large input/output integrated system of this type, and briefingsassuming many participants or the age of networking are taken intoconsideration, it is necessary not only to cause the operator to controlan external device such as a personal computer by “directly touching thescreen”, as described above. It is also preferable that, e.g., aparticipant at a conference, who is listening to the presentation whilelooking at the screen, can operate the screen or obtain information fromthe network, as needed, even at a “position separated from the screen”to ask a question or disclose evidential materials for a refutation.

In the conventional coordinate input apparatuses represented byapparatuses of a pressure sensitive type or electromagnetic type, thearea where coordinates can be input (detected) is smaller than the sizeof the entire coordinate input apparatus. Hence, when a coordinate inputapparatus is placed on a display apparatus such as a liquid crystaldisplay, a range including the display area of the display apparatus anda numerical value that considers a tolerance in attaching the coordinateinput apparatus to the display apparatus is generally set as thecoordinate input effective area. The size of the display area is set toalmost equal to that of the coordinate input effective area.

In other words, when specifications that allow detection outside thedisplay apparatus are satisfied, the size of the coordinate inputapparatus increases accordingly. The size of the entire apparatusbecomes very large relative to the size of the display area.

SUMMARY OF THE INVENTION

The present invention has been made in consideration of the abovesituation, and has as its object to provide a coordinate input apparatuswhich can efficiently and appropriately input coordinates in each of aplurality of input states, a control method of the coordinate inputapparatus, and a program.

According to the present invention, the foregoing object is attained byproviding a coordinate input apparatus which detects positioncoordinates of a coordinate input pointing tool, comprising; calculationmeans for calculating position coordinates in a space defined by firstto third axes of the coordinate input pointing tool; comparison meansfor comparing a value of the first axis of the coordinate valuescalculated by the calculation means with a predetermined value;determination means for determining whether the coordinate values of thesecond and third axes of the coordinate values calculated by thecalculation means fall within a predetermined range; and output meansfor outputting the coordinate values calculated by the calculation meansin a coordinate output form determined on the basis of a comparisonresult by the comparison means and a determination result by thedetermination means, wherein the coordinate output form includes atleast an absolute coordinate output form in which the calculatedcoordinate values are directly output, and a relative coordinate outputform in which differential values between the calculated coordinatevalues and predetermined coordinate values are output.

In a preferred embodiment, the predetermined coordinate values are firsteffective coordinate values during a continuous input period in whichcoordinate input is continuously executed, and the apparatus furthercomprises storage means for storing the first effective positioncoordinates calculated by the calculation means during the continuousinput period as the predetermined coordinate values.

In a preferred embodiment, the apparatus further comprises a displayapparatus which is overlapped on the coordinate input apparatus, and thefirst axis defines a normal direction to a display area plane of thedisplay apparatus, and the second and third axes define the display areaplane of the display apparatus.

In a preferred embodiment, the coordinate output form further includes arelative coordinate processing output form in which at least adifferential coordinate value between the coordinate value of the secondaxis and the predetermined coordinate value is multiplied and output.

In a preferred embodiment, the apparatus further comprises a displayapparatus which is overlapped on the coordinate input apparatus, and thefirst axis defines a normal direction to a display area plane of thedisplay apparatus, the second axis defines a horizontal direction of thedisplay area plane of the display apparatus, and the third axis definesa vertical direction of the display area plane of the display apparatus.

In a preferred embodiment, a magnification factor of the multiplicationof the differential coordinate value in the relative coordinateprocessing output form is set on the basis of the coordinate value ofthe first axis.

In a preferred embodiment, a magnification factor of the multiplicationof the differential coordinate value in the relative coordinateprocessing output form is set on the basis of the position coordinates.

According to the present invention, the foregoing object is attained byproviding a coordinate input apparatus which detects positioncoordinates of a coordinate input pointing tool and displays informationbased on the position coordinates on a display apparatus, comprising;calculation means for calculating the position coordinates of thecoordinate input pointing tool; determination means for determiningwhether the position coordinates calculated by the calculation meansfall within a display area of the display apparatus; and determinationmeans for determining on the basis of a determination result whether theposition coordinates or differential coordinate values between theposition coordinates and predetermined coordinates should be output.

In a preferred embodiment, further comprising setting means for settingthe display area of the display apparatus.

In a preferred embodiment, the setting means sets the display area onthe basis of coordinate values of at least three display area cornerportions of the display area.

In a preferred embodiment, the apparatus further comprises switch statedetermination means for determining operative states of a plurality ofswitches of the coordinate input pointing tool, and the coordinateoutput control means outputs the position coordinates or thedifferential coordinate values between the position coordinates and thepredetermined coordinates or inhibits output of the position coordinateson the basis of the determination result of the determination means anda determination result of the switch state determination means.

In a preferred embodiment, the predetermined coordinates are firsteffective coordinate values during a continuous input period in whichcoordinate input is continuously executed, and the apparatus furthercomprises storage means for storing the first effective positioncoordinates calculated by the calculation means during the continuousinput period as the predetermined coordinates.

According to the present invention, the foregoing object is attained byproviding a control method of a coordinate input apparatus which detectsposition coordinates of a coordinate input pointing tool, comprising; acalculation step of calculating position coordinates in a space definedby first to third axes of the coordinate input pointing tool; acomparison step of comparing a value of the first axis of the coordinatevalues calculated in the calculation step with a predetermined value; adetermination step of determining whether the coordinate values of thesecond and third axes, which are calculated in the calculation step,fall within a predetermined range; and an output step of outputting thecoordinate values calculated in the calculation step in a coordinateoutput form determined on the basis of a comparison result in thecomparison step and a determination result in the determination step,wherein the coordinate output form includes at least an absolutecoordinate output form in which the calculated coordinate values aredirectly output, and a relative coordinate output form in whichdifferential values between the calculated coordinate values andpredetermined coordinate values are output.

According to the present invention, the foregoing object is attained byproviding a control method of a coordinate input apparatus which detectsposition coordinates of a coordinate input pointing tool and displaysinformation based on the position coordinates on a display apparatus,comprising; a calculation step of calculating the position coordinatesof the coordinate input pointing tool; a determination step ofdetermining whether the position coordinates calculated in thecalculation step fall within a display area of the display apparatus;and a determination step of determining on the basis of a determinationresult whether the position coordinates or differential coordinatevalues between the position coordinates and predetermined coordinatesshould be output.

According to the present invention, the foregoing object is attained byproviding a program which causes a computer to function to control acoordinate input apparatus which detects position coordinates of acoordinate input pointing tool, comprising; a program code for acalculation step of calculating position coordinates in a space definedby first to third axes of the coordinate input pointing tool; a programcode for a comparison step of comparing a value of the first axis of thecoordinate values calculated in the calculation step with apredetermined value; a program code for a determination step ofdetermining whether the coordinate values of the second and third axes,which are calculated in the calculation step, fall within apredetermined range; and a program code for an output step of outputtingthe coordinate values calculated in the calculation step in a coordinateoutput form determined on the basis of a comparison result in thecomparison step and a determination result in the determination step,wherein the coordinate output form includes at least an absolutecoordinate output form in which the calculated coordinate values aredirectly output, and a relative coordinate output form in whichdifferential values between the calculated coordinate values andpredetermined coordinate values are output.

According to the present invention, the foregoing object is attained byproviding a program which causes a computer to function to control acoordinate input apparatus which detects position coordinates of acoordinate input pointing tool and displays information based on theposition coordinates on a display apparatus, comprising; a program codefor a calculation step of calculating the position coordinates of thecoordinate input pointing tool; a program code for a determination stepof determining whether the position coordinates calculated in thecalculation step fall within a display area of the display apparatus;and a program code for a coordinate output control step of outputtingthe position coordinates or differential coordinate values between theposition coordinates and predetermined coordinates on the basis of adetermination result.

Other features and advantages of the present invention will be apparentfrom the following description taken in conjunction with theaccompanying drawings, in which like reference characters designate thesame or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a view showing the schematic arrangement of a coordinate inputapparatus according to the first embodiment of the present invention,which can measure three-dimensional (spatial) coordinates;

FIG. 2 is a view showing the structure of a coordinate input penaccording to the first embodiment of the present invention;

FIG. 3 is a timing chart for explaining a sonic wave arrival timedetection method according to the first embodiment of the presentinvention;

FIG. 4 is a block diagram of a detection circuit which realizes sonicwave arrival time detection according to the first embodiment of thepresent invention;

FIG. 5 is a block diagram showing the schematic arrangement of anarithmetic control circuit according to the first embodiment of thepresent invention;

FIG. 6 is a view for explaining a coordinate system according to thefirst embodiment of the present invention;

FIG. 7 is a flow chart for explaining the operation of the coordinateinput pen according to the first embodiment of the present invention;

FIG. 8 is a table for explaining the operation modes of the coordinateinput pen according to the first embodiment of the present invention;

FIG. 9 is a flow chart for explaining the operation of the coordinateinput apparatus according to the first embodiment of the presentinvention;

FIG. 10 is a view for explaining the relationship between the displayapparatus and the coordinate input effective area according to the firstembodiment of the present invention;

FIG. 11 is a view for explaining an operation example of the coordinateinput pen according to the first embodiment of the present invention;

FIG. 12 is a flow chart showing display area setting processing of thecoordinate input apparatus according to the first embodiment of thepresent invention;

FIG. 13 is a flow chart for explaining the operation of a coordinateinput apparatus according to the second embodiment of the presentinvention;

FIG. 14 is a view for explaining an operation example of a coordinateinput pen according to the second embodiment of the present invention;and

FIG. 15 is a flow chart for explaining another operation of thecoordinate input apparatus according to the second embodiment of thepresent invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The preferred embodiments of the present invention will be describedbelow in detail with reference to the accompanying drawings.

FIG. 1 is a view showing the schematic arrangement of a coordinate inputapparatus according to the first embodiment of the present invention,which can measure three-dimensional (spatial) coordinates.

Reference numeral 4 denotes a coordinate input pen serving as a pointingtool. The coordinate input pen 4 is designed to radiate infrared lightto transmit ultrasonic wave radiation timings or the switch informationof the coordinate input pen 4. The radiated infrared light is receivedby a photosensor 5. A sonic wave radiated simultaneously is detected aplurality of detection sensors (in the first embodiment, four detectionsensors 3_Sa to 3_Sd are used) and processed by a signal waveformdetection circuit 2 by a method to be described later. After that, theposition (X,Y,Z) of the sonic wave generation source of the coordinateinput pen 4 is calculated by an arithmetic control circuit 1.

The arithmetic control circuit 1 is designed to control the coordinateinput apparatus and also move a cursor displayed on a display apparatus6 or display or add handwriting information such as a handwriting on thedisplay apparatus 6 through a display driving circuit 7 on the basis ofobtained coordinate data.

When the coordinate input apparatus and display apparatus are combinedin the above way, a man-machine interface capable of realizing therelationship of “paper and a pencil” can be provided.

The structure of the coordinate input pen will be described next withreference to FIG. 2.

FIG. 2 is a view showing the structure of the coordinate input penaccording to the first embodiment of the present invention.

A sonic wave generation source 43 incorporated in the coordinate inputpen 4 is driven by a pen power supply 46, a timer, an oscillationcircuit, and a driving circuit 45 constituted by a control circuit whichexecutes control by detecting a plurality of pieces of switchinformation of the coordinate input pen 4 and a memory which storesvarious kinds of data.

The sonic wave generation source 43 is constituted by a piezoelectricelement made of, e.g., PVDF (polyvinylidene fluoride). The PVDF has anannular film shape having a predetermined size and is designed tomaximize the driving efficiency at a desired frequency. The drivingsignal for the sonic wave generation source 43 is a pulse signal whichis generated by the timer and has a predetermined repetitive period. Thepulse signal is amplified by an oscillation circuit at a predeterminedgain and then applied to the sonic wave generation source 43. Thiselectrical driving signal is converted into a mechanical vibration bythe sonic wave generation source 43 so that its energy is radiated intothe air. On the other hand, when the mechanical vibration energy isradiated from the sonic wave generation source 43, an optical signal issynchronously radiated through a light-emitting portion 44 such as aninfrared LED.

The coordinate input pen 4 according to the first embodiment comprisesthe pen point switch (SW) 41 which operates when the pen point ispressed, and the plurality of pen side switches (SW) 42 a and 42 barranged on the housing of the coordinate input pen 4.

The driving circuit 45 outputs the signal that drives the sonic wavegeneration source 43 in the coordinate input pen 4 at a predeterminedperiod (e.g., every 10 msec; in this case, since a sonic wave isradiated 100 times per sec, the coordinate calculation sampling rate ofthe coordinate input apparatus is 100 times/sec) so that a sonic waveand an optical signal serving as a timing signal are radiated into theair.

The sonic wave, which arrives at and is detected by the sensors, hasdelays corresponding to the distances between the sonic wave generationsource 43 and the detection sensors 3_Sa to 3_Sd. Each of the detectionsensors 3_Sa to 3_Sd is a piezoelectric vibrator formed from PZT whichuses a thickness vibration. An acoustic matching layer is formed on thefront surface. The acoustic matching layer is made of a thin layer ofsilicone rubber or the like. The acoustic matching layer can match theacoustic impedance to a gas. When the detection sensor 3 has such astructure, a wide-band characteristic at a high sensitivity can beobtained. In addition, an ultrasonic wave signal can betransmitted/received with a high pulse response.

The coordinate input apparatus of this type basically derives thedistance between the sonic wave generation source 43 of the coordinateinput pen 4 and each of the detection sensors 3_Sa to 3_Sd on the basisof the product of the known sound velocity of the sonic wave and thearrival time of the sonic wave and geometrically obtains the positioninformation of the sonic wave generation source 43 using the positioninformation of each of the detection sensors 3_Sa to 3_Sd. The arrivaltime detection method of detecting the arrival time of the sonic wavewill be described with reference to FIGS. 3 and 4.

FIG. 3 is a timing chart for explaining a sonic wave arrival timedetection method according to the first embodiment of the presentinvention. FIG. 4 is a block diagram of a detection circuit whichrealizes sonic wave arrival time detection according to the firstembodiment of the present invention.

Reference numeral 101 denotes a driving signal for the sonic wavegeneration source 43, which is generated by the driving circuit 45.Synchronously, a start signal as an optical signal which transmits thetiming information of ultrasonic wave generation from the light-emittingportion 44 is radiated. This optical signal is detected through thephotosensor 5. The optical signal transmits to a microcomputer 301 (FIG.5) in the arithmetic control circuit 1 the ultrasonic wave generationtiming or the state (e.g., pen up/down state) of the coordinate inputpen 4 through a frequency detection circuit 210 and control signaldetection circuit 211 and starts a timer 303 (FIG. 5).

A sonic wave radiated into the air is delayed in accordance with thedistances between the sonic wave generation source 43 and the detectionsensors 3_Sa to 3_Sd and detected by the detection sensors 3_Sa to 3_Sd.Reference numeral 102 denotes a detection signal detected by thedetection sensors 3_Sa to 3_Sd and amplified to a predetermined level bya pre-amplification circuit 201. The detection signal 102 is processedby an envelope detection circuit 203 constituted by an absolute valuecircuit and a low-pass filter, so an envelope 103 of the detectionsignal 102 is extracted.

The envelope 103 will be described with an emphasis. The sound velocityof propagation of the waveform is represented by a group velocity Vg.When the singular point of the envelope 103, e.g., the peak of theenvelope 103 or the inflection point of the envelope 103 is detected, adelay time tg related to the group velocity Vg is obtained. An envelopesingular point detection circuit 206 can easily detect the peak orinflection point of the envelope 103 by using a differentiation circuitand zero-crossing comparator.

Especially, in the first embodiment, second-order differentiation isexecuted to form a signal 106. The inflection point of the envelope 103is detected with reference to a gate signal 105 obtained by comparing athreshold level 104 with the envelope 103 (signal 107). When the timer303 which is continuously executing the count operation is stopped bythe signal 107 generated by a Tg signal detection circuit 207, a groupdelay time Tg related to the group velocity Vg can be detected.

Strictly speaking, the group delay time Tg contains the delay componentof the circuit related to waveform processing. However, its influence iscompletely removed by a method to be described later. For the sake ofsimplicity, a description will be made here assuming that no circuitdelay time is present.

A distance L between the sonic wave generation source 43 and each of thedetection sensors 3_Sa to 3_Sd can be obtained byL=Vg×Tg  (1)

To more accurately calculate the distance L, the sonic wave arrival timeis derived from the phase information of the detection signal waveform.This will be described in detail. An extra frequency component of theoutput signal 103 from the detection sensors 3_Sa to 3_Sd is removed bya bandpass filter 208. Then, the signal 103 is input to a Tp signaldetection circuit 209. The Tp signal detection circuit 209 isconstituted by a zero-crossing comparator and multivibrator. A signal109 related to the zero-crossing point of a signal 108 output from thebandpass filter 208 is produced.

The signal 109 is further compared with the gate signal 105 produced bya gate signal generation circuit 205 which compares the detection signalwith the predetermined threshold level 104, thereby producing a signal110 which outputs the first zero-crossing point where the phase of thesignal waveform output from the bandpass filter 208 crosses from, e.g.,the negative side to the positive side in the period of the signal 105.In a similar way, when the timer 303 which is operated by theabove-described start signal is stopped using the signal 110, a phasedelay time Tp related to a phase velocity Vp can be detected.

Strictly speaking, the phase delay time Tp contains the delay componentof the circuit related to waveform processing. However, its influence iscompletely removed by a method to be described later. For the sake ofsimplicity, a description will be made here assuming that no circuitdelay time is present.

The signal level detected by the detection sensors 3_Sa to 3_Sd variesdepending on the following factors.

1) The electromechanical conversion efficiency of the sonic wavegeneration source 43 and detection sensors 3_Sa to 3_Sd

2) The distances between the sonic wave generation source 43 and thedetection sensors 3_Sa to 3_Sd

3) Environmental variations in temperature and humidity of the airthrough which the sonic wave propagates

4) The directivity of sonic wave radiation by the sonic wave generationsource 43, and sensitive directivity of the detection sensors 3_Sa to3_Sd

Item 1) is a factor generated by component tolerance and mustsufficiently be taken into consideration in mass production ofapparatuses. Item 2) is related to attenuation of a sonic wave. As isgenerally well known, the signal level of a sonic wave that propagatesthrough the air exponentially attenuates as the distances between thesonic wave generation source 43 and the detection sensors 3_Sa to 3_Sdincrease. The attenuation constant changes depending on the environmentrepresented by item 3).

For item 4), since the present invention operates as a coordinate inputapparatus, the posture of the coordinate input pen 4 serving as awriting instrument always changes, i.e., the pen holding angle variesdepending on the writing operation of the operator. The level largelychanges depending on this variation. In addition, even when the anglesmade by the coordinate input pen 4 and the detection sensors 3_Sa to3_Sd vary, the detection level varies because of the sensitivedirectivity of the detection sensors 3_Sa to 3_Sd.

For example, assume that the detection level becomes lower. In thiscase, since the above-described threshold level (e.g., the signal 104)is fixed, the gate generation period may be shortened (signal 111). Forexample, the signal 110 may change to a signal 112 at a high probabilitydue to the decrease in signal level.

In addition, since the time difference between the signals 110 and 112corresponds to an integer multiple of the phase period (in FIG. 3, oneperiod) of the signal 108. An equation to be used to obtain the distanceusing the phase delay time Tp is given byL=Vp×Tp+n×λp  (2)where λp (=Vp×T=Vp/f: f is the frequency) is the wavelength of the wave,and n is an integer.

However, the integer n can be obtained from equations (1) and (2) asn=Int[(Vg×Tg−Vp×Tp)/λp+0.5]  (3)When the value of the integer n is substituted into equation (2), thedistance L can be accurately derived.

The schematic arrangement of the arithmetic control circuit 1 accordingto the first embodiment will be described next with reference to FIG. 5.

FIG. 5 is a block diagram showing the schematic arrangement of thearithmetic control circuit 1 according to the first embodiment of thepresent invention.

The microcomputer 301 controls the arithmetic control circuit 1 and theentire coordinate input apparatus itself. The microcomputer 301 isconstituted by an internal counter, a ROM which stores operationprocedures, a RAM to be used for calculation and the like, and anonvolatile memory which stores constants and the like. As describedabove, a start signal which synchronizes with the driving timing of thesonic wave generation source 43 in the coordinate input pen 4 isgenerated by the driving circuit 45 and radiated through thelight-emitting portion 44 incorporated in the coordinate input pen 4 asan optical signal. When the signal is detected by the control signaldetection circuit 211, the timer 303 (constituted by, e.g., a counter)in the arithmetic control circuit 1 starts.

With this arrangement, the driving timing of the sonic wave generationsource 43 in the coordinate input pen 4 can be synchronized with thetimer 303 in the arithmetic control circuit 1. For this reason, the timerequired for the sonic wave generated by the sonic wave generationsource 43 to arrive at each of the detection sensors 3_Sa to 3_Sd can bemeasured.

Vibration arrival timing signals (signals 107, or for more accuratedetection, signals 110) from the detection sensors 3_Sa to 3_Sd, whichare output from the signal waveform detection circuit 2, are input to alatch circuits 304_a (for Tg signal processing) and 304_b (for Tp signalprocessing) through a detection signal input port 306. The latchcircuits 304_a and 304_b receive the vibration arrival timing signalsfrom the detection sensors 3_Sa to 3_Sd and latch the count value of thetimer 303 at that time.

A determination circuit 305 determines that all detection signalsnecessary for coordinate detection have thus been received, and outputsa signal representing it to the microcomputer 301. Upon receiving thesignal from the determination circuit 305, the microcomputer 301 readsthe vibration arrival times to the detection sensors 3_Sa to 3_Sd fromthe latch circuits 304_a and 304_b, and executes predeterminedcalculation to obtain the coordinate position of the coordinate inputpen 4.

Although only latch circuits corresponding one detection sensor areillustrated in FIG. 5, actually, latch circuits corresponding to thenumber of detection sensors are appropriately arranged.

When the coordinate values (absolute coordinate values) obtained as thecalculation result is output to the display driving circuit 7 through anI/O port 307, for examples, dots can be displayed at a correspondingposition on the display apparatus 6. When the coordinate positioninformation or the state signal (pen up/down state or pen ID) of thecoordinate input pen 4 is output to an interface circuit (not shown)through the I/O port 307, the coordinate values or control signal can beoutput to an external device.

In the first embodiment, the detected time contains an electricalprocessing time by the circuits and the like in addition to the sonicwave arrival times from the sonic wave generation source 43 to thedetection sensors 3_Sa to 3_Sd. A method of removing an extrameasurement time other than the sonic wave propagation time will bedescribed here.

The group delay time Tg and phase delay time Tp latched by the latchcircuits 304_a and 304_b contain a group circuit delay time etg andphase circuit delay time etp, respectively. Each circuit delay timealways contains a constant value in every time measurement. Let t* bethe time measured by a given measurement circuit in propagation betweenthe sonic wave generation source 43 and the detection sensor 3, e be thecircuit delay time in the measurement circuit, and t be the actual timenecessary for the sonic wave for propagating between the sonic wavegeneration source 43 and the detection sensor 3. The time t* is given byt*=t+e  (4)

Let tini* be the time measurement value when the distance between thesonic wave generation source 43 and the detection sensor 3 is a knowndistance Lini, e be the circuit delay time in the measurement circuit,and tini be the actual sonic wave propagation time. The time tini* isgiven bytini*=tini+e  (5)Hence,t*−tini*=t−tini  (6)Letting V be the sound velocity of the sonic wave, we obtainV×(t*−tini*)=V×(t−tini)=V×t−Lini  (7)

Hence, the arbitrary to-be-calculated distance L between the sonic wavegeneration source 43 and the detection sensor 3 is given byL=V×t=V×(t*−tini*)+Lini  (8)

When the above-described known distance Lini and the time measurementvalue tini* for that distance (a phase delay time Tpini* or a groupdelay time Tgini* and phase delay time Tpini*) are stored in thenonvolatile memory of the arithmetic control circuit 1 at the time ofshipping or reset, an arbitrary distance between the sonic wavegeneration source 43 and the detection sensor 3 can be accuratelycalculated.

A method of obtaining the position coordinates (X,Y,Z) of the sonic wavegeneration source 43 when the detection sensors 3_Sa to 3_Sd arearranged in the coordinate system as shown in FIG. 6 will be describednext.

In the spatial coordinates that define the position coordinates (X,Y,Z)of the sonic wave generation source 43, the Z-axis defines the normaldirection to the display plane of the display apparatus 6, and the X-and Y-axes define the display plane of the display apparatus 6.

In the second embodiment to be described later, the Z-axis defines thenormal direction to the display plane of the display apparatus 6, theX-axis defines the horizontal direction of the display plane of thedisplay apparatus 6, and Y-axis defines the vertical direction of thedisplay plane of the display apparatus 6.

Let La to Ld be the distances between the sonic wave generation source43 and the detection sensors 3_Sa to 3_Sd, which are accurately obtainedby the above method, Xs-s be the distance between the detection sensorsin the X direction, and Ys-s be the distance between the detectionsensors in the Y direction. Then,

$\begin{matrix}{{{Lb}^{2} - \left( {\frac{{Xs} - s}{2} + x} \right)^{2}} = {{Lc}^{2} - \left( {\frac{{Xs} - s}{2} + x} \right)^{2}}} & (9) \\{x = \frac{{Lb}^{2} - {Lc}^{2}}{{2{Xs}} - s}} & (10)\end{matrix}$Similarly,

$\begin{matrix}{y = \frac{{Lb}^{2} - {La}^{2}}{{2{Ys}} - s}} & (11) \\{z = \sqrt{{Lb}^{2} - \left( {\frac{{Xs} - s}{2} + x} \right)^{2} - \left( {\frac{{Ys} - s}{2} + y} \right)^{2}}} & (12)\end{matrix}$

As described above, when the distances between at least three detectionsensors 3 and the sonic wave generation source 43 are measured, theposition (spatial) coordinates of the sonic wave generation source 43can easily be obtained. In the present invention, four detection sensors3 are used. For example, the distance information of the farthestdetection sensor is not used (in this case, the signal output from thedetection sensor 3 has the lowest signal level because the distance islargest). Coordinates are calculated using only the remaining threepieces of distance information, thereby reliably calculating thecoordinates.

When the distance information of the farthest detection sensor is used,it can be determined whether the reliability of the output coordinatevalues is high.

As a detailed method, for example, the coordinate values calculatedusing the pieces of distance information La, Lb, and Lc are equal to thecoordinate values calculated using the pieces of distance informationLb, Lc, and Ld (calculation is done while changing the combination ofdistance information). However, if the coordinate values do notcoincide, any of the pieces of distance information is incorrect. Thatis, a detection error has occurred. In this case, the reliability may beincreased by inhibiting output of the coordinate values.

The operation modes of the coordinate input apparatus of the presentinvention, which can calculate the spatial coordinates, will bedescribed next.

The coordinate input pen 4 according to the present invention comprisesthe pen point switch 41 and the two pen side SWs 42 a and 42 b, as shownin FIG. 2. The operation modes of the SWs will be described withreference to FIGS. 7 and 8. In addition, the operation modes on thedetection circuit side (main body side) corresponding to the operationmodes of the coordinate input pen 4 will be described with reference toFIGS. 8 and 9.

FIG. 7 is a flow chart for explaining the operation of the coordinateinput pen according to the first embodiment of the present invention.FIG. 8 is a table for explaining the operation modes of the coordinateinput pen according to the first embodiment of the present invention.

An operation program which executes processing shown in FIG. 7 inaccordance with the operation mode shown in FIG. 8 is stored in thememory in the driving circuit 45 shown in FIG. 2. The control circuit(CPU) in the driving circuit 45 executes the operation program inaccordance with the operations of the pen point SW 41 and pen side SWs42 a and 42 b.

In the following description, input by the operation of the pen point SW41 will be referred to as “pen input”. Coordinate input operation whichis performed relatively near the display apparatus 6 when the pen pointSW 41 is not in a direct contact with the surface of the displayapparatus 6, i.e., the pen point SW 41 does not operate will be referredto as “proximity input”. Coordinate input operation which is performedat a position separated from the display apparatus 6 will be referred toas “remote input”.

When the operator holds the coordinate input pen 4 and presses thecoordinate input surface, the pen point SW 41 operates. First, in stepS402, it is determined whether the pen point SW 41 is ON. If the penpoint SW 41 is not ON (NO in step S402), the flow advances to step S403.If the pen point SW 41 is ON (YES in step S402), the flow advances tostep S406 to cause the driving circuit 45 to operate the sonic wavegeneration source 43 at a first predetermined period (e.g., 50times/sec) such that a sonic wave (first control signal) is radiatedinto the air at the first predetermined period. The coordinate valuescalculated by the coordinate input apparatus of the present invention atthis time are absolute coordinate values (X,Y,0). When the values aredirectly output to an external device or the like, the operator canperform writing operation (pen down state).

When the coordinate values detected at this time are coordinate valueswithin the display area (in FIG. 6, x<±Disp_X, y<±Disp_Y), a locuscorresponding to the movement of the pointing tool is output to thedisplay screen like the normal paper-pencil relationship.

When the detected coordinate values fall outside the display area,although the pen point SW 41 is operating, the pen point SW 41 may bebeing operated unconsciously by the operator's hand. In this case,coordinate output is inhibited. Similarly, the state wherein the penpoint SW 41 is operating corresponds to the state wherein the coordinateinput pen 4 is pressing the display screen as the coordinate inputsurface. The Z-coordinate value detected at this time should be almost“0”. If this value is not “0”, the operator may be performing erroneousoperation. In this case as well, coordinate output is inhibited.

On the other hand, when the pen point SW 41 is in the OFF state, nowriting operation is being performed by causing the operator to pressthe coordinate input surface. However, it is very advantageous to, e.g.,move the displayed cursor or execute desired screen operation bydouble-clicking on an icon near the coordinate input surface, or at aposition separated from the display apparatus 6 serving as thecoordinate input surface or outside the display area of the displayapparatus 6.

For this purpose, a sonic wave is radiated into the air by pressing oneof the pen side SWs 42 a and 42 b to allow cursor movement or the like(pen up state). The coordinate input pen is designed to set the pen downstate by pressing both the pen side SWs 42 a and 42 b even when the penpoint SW 41 is not operating.

The processing will be described below.

When the pen point SW 41 is not ON (NO in step S402), i.e., when the penpoint SW 41 is OFF, it means at least a state wherein coordinate inputon the X-Y plane (Z=0) by the operator is not executed. Even in thiscase, it is preferably possible to execute operation of, e.g., movingthe cursor displayed on the screen (pen up state). To implement thisoperation, the coordinate input pen 4 of the present invention has thepen side SWs 42 a and 42 b.

In steps S403 to S405, it is determined whether the pen side SW 42 a or42 b is ON. On the basis of the determination result, when at least oneof the pen side SWs is ON, the flow advances to step S407 to radiate asonic wave (second control signal) into the air at a secondpredetermined period (e.g., 40 times/sec) (pen up state).

Even at a position separated from the input surface (Z>0), if theoperator wants to move the cursor by moving the coordinate input pen 4and leave the moving state as a record (handscript), he/she presses boththe pen side SWs 42 a and 42 b. Then, the flow advances to step S406 toradiate a sonic wave (first control signal) into the air at the firstpredetermined period to set the pen down state.

In the above description, the pen up/down information is detected bymeasuring the ultrasonic wave radiation period (measuring/determiningwhether the period is 50 times/sec or 40 times/sec). However, thepresent invention is not limited to this.

For example, the information may be superposed on the above-describedstart timing signal (in the first embodiment, the optical signal by thelight-emitting portion 44 incorporated in the coordinate input pen 4),detected by the control signal detection circuit 211, and output to thearithmetic control circuit 1.

Alternatively, for example, the frequency of the sonic wave to beradiated is changed in accordance with the states of the switches of thecoordinate input pen 4 and detected, thereby determining the operationmode.

As shown in FIG. 2, the pen side SWs 42 a and 42 b are arranged at anangle of about 90° in the direction of the section of the coordinateinput pen 4. The positions of the switches are set such that when theoperator holds the coordinate input pen, his/her thumb naturally comesinto contact with one pen side SW and his/her index finger comes intocontact with the other pen side SW independently of the dominant hand.

The pen side SWs 42 a and 42 b are arranged in this way. In addition, anoperation mode (in the first embodiment, the pen up state) set when oneof the pen side SWs is turned on and an operation mode (pen down state)set only when both pen side SWs are in the ON state are set. With thisarrangement, a convenient coordinate input pen 4 can be formedindependently of the dominant hand.

As another embodiment of the pen side SWs 42 a and 42 b, a two-strokeswitch which switches two modes by a single switch can also beeffectively used. More specifically, at the first stroke, the firstswitch operates (pen up state), and at the second stroke, the secondswitch operates (pen down state). Even in this case, a convenientcoordinate input pen 4 can be formed independently of the dominant hand.

A method of inputting coordinates, moving the cursor (pen up state), orwriting (pen down state) at a position separated from the display screenof the display apparatus 6 by operating the pen side SWs 42 a and 42 bhas been described above. In this case (when the pen point SW 41 is notin direct contact with the surface of the display apparatus 6, i.e., thepen point SW 41 is not operating), specifications required from theviewpoint of operation change between a case wherein the pen point SW 41is operated on the display screen of the display apparatus 6 or near thedisplay screen (a state wherein the pen point SW 41 is located in thespace near the display screen and is not operating) and a case whereinthe coordinate input operation is performed at a position separated fromthe display screen or outside the display area.

In the former case, it is required to intuitively and directlyaccurately move, e.g., the displayed cursor to a desired position bymoving the coordinate input pen 4. In the latter case, it is required tomove, e.g., the displayed cursor to a desired position by relativelymoving the cursor in accordance with the movement of the coordinateinput pen 4.

That is, when the operator wants to make a presentation using a largedisplay, it is preferable to use a means (with the paper-pencilrelationship) for making it possible to control display information orwrite information (characters or graphic patterns) by directly touchingthe screen (inputting coordinates).

In addition, when the operator wants to simply indicate information,instead of causing the operator to go to the screen to indicate theinformation, it is preferable to make it possible to execute desiredscreen control or add information at a separate position, i.e., withoutcausing the operator to hide the displayed information viewed from thelisteners.

When a large input/output integrated system of this type and briefingsassuming many participants are taken into consideration, it ispreferable not only to cause the operator to control an external devicesuch as a personal computer by directly touching the screen, asdescribed above. It is also preferable that, e.g., a participant at aconference, who is listening to the presentation while looking at thescreen, can operate the screen or obtain information from the network,as needed, even at a position separated from the screen to ask aquestion or disclose evidential materials for a refutation.

The present invention has been made in consideration of this point. Thecoordinate input apparatus of the present invention determines, on thebasis of detected coordinate values (X,Y,Z), the form (coordinate outputform) in which the coordinate values should be output. In addition, thecoordinate output form or output is controlled by combining theinformation of the detected coordinate values (X,Y,Z) and theinformation of the switch states of the coordinate input pen 4.

The operation of the coordinate input apparatus which implements theabove operation will be described in detail with reference to FIG. 9.

FIG. 9 is a flow chart for explaining the operation of the coordinateinput apparatus according to the first embodiment of the presentinvention.

The flow chart shown in FIG. 9 operates on the basis of the operationmode shown in FIG. 8.

In step S502, it is determined whether an effective signal asinformation necessary for coordinate detection is detected (for example,it is determined whether the ultrasonic wave signal radiated from thecoordinate input pen 4 is received by the detection sensor 3). If noeffective signal is detected (NO in step S502), a standby state is setuntil an effective signal is detected. If an effective signal isdetected (YES in step S502), the flow advances to step S503 to calculatethe three-dimensional position coordinate values (X,Y,Z) (absolutecoordinate values) of the coordinate input pen 4.

Next, in step S505, it is determined on the basis of the calculatedcoordinate values (X,Y,Z) whether the Z-axis value is 0 (Z=0), i.e., thecoordinate input pen 4 is located on the coordinate input surface, andcoordinates are input. When Z-coordinate value is 0 (YES in step S505),the flow advances to step S506 to determine the coordinate values (X,Y)fall within the display area of the display apparatus 6. When thecalculated coordinate values (X,Y) fall within the display area (YES instep S506), the flow advances to step S509 to output the calculatedcoordinate values (X,Y) to an external device as specified values(absolute coordinate output form).

The information (the coordinate values of the display area) related tothe display area is stored in the nonvolatile memory of the arithmeticcontrol circuit 1 in advance.

When the calculated coordinate values (X,Y) fall outside the displayarea in step S506 (NO in step S506), it is determined that coordinatesare input by some erroneous operation. Hence, output of the calculatedcoordinate values is stopped, and the processing is ended.

Although not directly illustrated in the flow chart of FIG. 8, forexample, when the information of the pen point SW 41 of the coordinateinput pen 4 is superposed on the optical signal as the start signal anddemodulated by the control signal detection circuit 211 as a controlsignal, the reliability of coordinate calculation can be increased byusing the information of the pen point SW 41.

That is, in then operative state of the pen point SW 41, the pen pointSW 41 normally operates by pressing the display area as the coordinateinput surface. If the Z-axis detection value is not 0 although the penpoint SW 41 is operating, it is also determined that the coordinates areinput by some erroneous operation, and output of the detected coordinatevalues can be stopped. A more reliable arrangement can be obtained fromthe viewpoint of preventing any erroneous operation (FIG. 8).

If Z-coordinate value≠0 in step S505 (NO in step S505), the flowadvances to step S507 to determine whether the Z-coordinate value issmaller than the first predetermined value.

When the Z-coordinate value is equal to or larger than the firstpredetermined value (NO in step S507), the flow advances to step S510.When the Z-coordinate value is smaller than the first predeterminedvalue (YES in step S507), it can be determined that the coordinate inputpen 4 is located near or relatively near the display screen serving asthe coordinate input surface. In step S508, it is determined whether thecalculated coordinate values (X,Y) are within the display area.

When the calculated coordinate values (X,Y) are within the display area(YES in step S508), the flow advances to step S509 to directly outputthe calculated coordinate values (X,Y). In this state, the operator isoperating the coordinate input pen 4 at a position relatively near thedisplay screen. That is, the display information is controlled by movingthe cursor or adding information of a character or graphic pattern asthe coordinate input pen 4 is moved.

When the calculated coordinate values (X,Y) are outside the display area(NO in step S508), it can be supposed that the operator is doingpresentation near the display screen at the side of the display areawhile controlling the displayed contents without hiding the displayinformation for the listeners. The cursor can be relatively moved byoperating the coordinate input pen 4.

The method of relatively moving the cursor will be continuouslydescribed. It can be determined that the operator is at a positionrelatively near the display apparatus 6 and is located at the side ofthe display apparatus 6. In step S510, at least the X- and Y-coordinatevalues of the calculated coordinate values (X,Y,Z) are stored in thenonvolatile memory of the arithmetic control circuit 1 as coordinatevalues (X1st,Y1st).

In step S511, it is determined whether coordinates are continuouslyinput. The state “coordinates are continuously input” can be defined asfollows. If a coordinate input apparatus of this type can outputcoordinates at 50 times/sec (coordinate calculation sampling rate),coordinates are output every 0.02 msec. When this period is measured, itcan be determined whether the coordinates are continuously input.

In the coordinate input apparatus of the present invention, for example,the generation timing of the start signal (FIG. 4) of the control signaldetection circuit 211 may be monitored (in this case, when thecoordinate calculation sampling rate is 50 times/sec, the start signalis generated every 0.02 sec). Alternatively, the arrival interval of theultrasonic wave signal (e.g., the signal 102 in FIG. 3) is directlymonitored to determine whether coordinates are continuously input.

In the first embodiment, since the distance between the pointing tool 4and the sensor 3 always changes in accordance with the movement of thecoordinate input pen 4, the difference in sonic wave transmission timeaccording to the change in distance is added/subtracted to/from the time(0.02 sec when the sampling rate is 50 times/sec) based on the samplingrate.

Hence, it is expressed as a period of “about 0.02 sec” (theoretically, asignal is always received within the range of 0 to 0.04 sec). Inconsideration of the maximum moving amount of the coordinate input pen 4within 0.02 sec, when a signal can be received within, e.g., 0.03 sec,it is determined that coordinates are continuously input.

When coordinates are continuously input in step S511 (YES in step S511),the flow advances to step S512 to calculate the 3-dimensional positioncoordinates (X,Y,Z) of the coordinate input pen 4. In step S513, thedifferential coordinate values between the predetermined coordinatevalues (X1st,Y1st) stored in step S510 and the calculated coordinatevalues (X,Y,Z) are calculated to derive and output relative coordinatevalues (ΔX,ΔY) (relative coordinate output form). The flow returns tostep S511 again to determine whether coordinates are continuously input.When coordinates are not continuously input (NO in step S511), theoperation is ended.

At this time, to determine whether the output coordinate values are theabsolute coordinate values (X,Y) or relative coordinate values (ΔX,ΔY),information representing it may be output together with the specifiedcoordinate values.

In a coordinate input environment that aims at simplifying thecoordinate input apparatus or requires no strict design specifications,processing in steps S505 to S508 may be omitted. The absolutecoordinates or relative coordinates may be output on the basis of astate wherein the calculated coordinate values are within or outside thedisplay area. In addition, the absolute coordinates or relativecoordinates may be output in accordance with the operative state of thecoordinate input pen 4. In this arrangement, the processing speed can beincreased, or an inexpensive coordinate input apparatus can be formed.

A case wherein it is determined in step S507 that the coordinate values(X,Y,Z) calculated in step S502 are larger than the first predeterminedvalue will be examined.

This state means that the coordinate input pen 4 is located at aposition separated in the Z-axis direction from the display screenserving as the coordinate input surface. That is, it can be supposedthat the operator who is doing presentation is considerably separatedfrom the display apparatus 6, or a listener who is listening to thepresentation has input coordinates. In other words, in this state,display information should be controlled or a character or graphicpattern should be added by remote control.

The state wherein the coordinate input position is separated from thescreen will be examined. When the distance is relatively small(proximity input), the Z-axis direction value between the coordinateinput pen 4 and the display apparatus 6 as the display screen isrelatively small. When the coordinate input pen 4 is moved, for example,the displayed cursor can be intuitively and directly moved to a desiredposition. The positional shift of the cursor with respect to the desiredposition becomes large as compared to a case wherein coordinates aredirectly input to the display screen of the display apparatus 6 (whenthe pen point SW 41 is in the ON state), as a matter of course, thoughthere is no practical problem at all.

However, as the distance from the display apparatus 6 increases (theZ-coordinate value becomes large), the positional shift between thecursor and the desired position becomes large, and the operator cannotintuitively directly indicate the desired position. More specifically,when the operator wants to move the cursor at a separate position,he/she inputs coordinates by operating the pen side SW of the coordinateinput pen 4 while believing that he/she is indicating the desiredposition. However, the cursor position based on the obtained coordinatevalues is normally different from the above-described desired position.

Even when the operator indicates the desired position, the differencebetween the desired position and the position of the actually displayedcursor greatly increases as the distance from the display apparatus 6increases (the Z-coordinate value becomes large). When the operator whois at a position separated from the display apparatus 6 should move thecursor to the desired position, first, coordinates are input to aposition that can be supposed to be the desired position. Then, theoperator must visually recognize the position of the cursor displayed onthe basis of the coordinate value and then further move the coordinateinput pen 4 toward the desired position, thereby gradually moving thecursor to the desired position.

In other words, in remote input (the operation of inputting coordinatesat a position separated from the display apparatus 6 to, e.g., move thecursor), the correction operation of causing the operator to furthermove the pen to the desired direction on the basis of the visualinformation recognized by the operator is repeated (a loop that repeatsvisual recognition→operation→visual recognition), thereby attaining theobject. The desired position cannot be directly indicated.

As described above, when the operator is to execute certain remote inputoperation for image information displayed on the display apparatus 6(image information having a coordinate system on the X-Y plane), thecoordinate values of the first point of the series coordinate input bythe operator cannot coincide with the coordinate values of theabove-described image information.

This can easily be understood from the following example. Laser pointersare popularly used as a tool that indicates a display image displayed byan OHP or the like. In this case as well, the operator cannot know whatpoint is to be indicated by first laser emission and becomes able toirradiate a desired position with the laser beam by executing positioncorrection operation while visually recognizing the indicated pointposition.

In the present invention, when the Z-coordinate value is equal to orlarger than the first predetermined value in step S507 (remote input),the first effective coordinate values are stored as the predeterminedcoordinate values (X1st,Y1st) (at this time, the currently displayedcursor does not move). As the coordinate input pen 4 moves during thecontinuous input period, the cursor is moved in accordance with thedirection and moving amount. With this operation, good operability isrealized even in remote control.

The relationship between the display apparatus 6 and a coordinate inputeffective area will be described next with reference to FIG. 10.

FIG. 10 is a view for explaining the relationship between the displayapparatus and the coordinate input effective area according to the firstembodiment of the present invention.

FIG. 10 shows the relationship between the display apparatus 6 and thecoordinate input effective area and also shows the coordinate outputform that is switched by the flow chart shown in FIG. 9.

Especially, FIG. 10 shows an arrangement in which when the operator islocated at a position relatively close to the display area and theobtained coordinate values (X,Y) are within the display area, absolutecoordinates are output (absolute coordinate output form) to directlyinput the coordinates, and when the operator is located at the side ofthe display apparatus 6 not to shield the visual field of the listenersor is executing remote control, relative coordinates are output(relative coordinate output form).

When the operator should input coordinates directly by touching thescreen of a large display apparatus, he/she must always change his/herposition to move the cursor from end to end of the screen.

In remote control, however, for example, a questioner normally stands upand asks a question at his/her position (when there are many listeners,movement is inevitably difficult). Hence, it is required to be able toindicate the entire area without moving.

The first embodiment also solves this problem. This will be describedwith reference to the drawing on the left side of FIG. 11. Assume thatthe operator is going to do presentation in front of many listeners inthe relative coordinate output range (FIG. 10) by using the displayapparatus 6 having a large screen.

In the form in which absolute coordinates are output to directly inputthe coordinates (absolute coordinate output form), when the operator isto move the cursor from a position I to a position III in FIG. 11,he/she moves the coordinate input pen 4 to the position III and inputscoordinates. Accordingly, the cursor moves from the position I to theposition III (in this case, the operator is at a position where he/shecan indicate the position III).

However, when the operator works at the position I (the operator is nearthe position I) and then wants to move to the position III, he/she movesto cross the screen. Many of the listeners cannot obtain the informationand hardly understand the contents of presentation. This problem isserious especially when the large display apparatus is a frontprojection apparatus or OHP (projection type display apparatus) becausethe image is largely distorted.

To the contrary, assume that the operator is at the side of the displayapparatus 6, and the cursor is at the position I. The operator placesthe coordinate input pen 4 at a position A and operates at least one ofthe pen side SWs 42 a and 42 b. Accordingly, a sonic wave is radiatedfrom the coordinate input pen 4, and the position coordinates of thecoordinate input pen 4 are detected. At this time, the coordinate inputpen 4 is outside the display area of the display screen or at a positionseparated from the display apparatus 6 (Z-coordinate value>firstpredetermined value). Hence, the position coordinates calculated firstare stored (step S510 in FIG. 9), and the cursor does not move from theposition I.

Assume that the operator continuously operates the pen side SW 42 toperform operation of continuously detecting coordinates, moves thecoordinate input pen 4 to a position B, and turns off the pen side SW42. As the operator moves the coordinate input pen 4 (moves thecoordinate input pen from the position A to the position B), the cursormoves from the position I to the position II in an amount correspondingto the moving direction and moving distance.

The operator further moves the coordinate input pen 4 from the positionB to a position C while keeping the pen side SW 42 in the OFF state (atthis time, the cursor remains at the position II) and then moves thecoordinate input pen 4 to a position D while operating at least one ofthe pen side SWs 42 a and 42 b. The pen side SW 42 operates, and thecoordinate values detected first are stored again (step S510). Afterthat, the cursor moves in an amount corresponding to the differentialcoordinate values between the detected coordinate values and the storedpredetermined coordinate values (X1st,Y1st). As the operator moves thecoordinate input pen 4 (moves the coordinate input pen from the positionC to the position D), the cursor moves from the position II to theposition III in an amount corresponding to the moving direction andmoving distance.

As described above, even when the operator is located outside thedisplay area serving as the input surface or at a position separatedfrom the display apparatus 6, the cursor can be smoothly moved from thecurrent position to the desired position. In addition, during a seriesof operations in which coordinates are continuously input, the X- andY-direction moving amounts of the coordinate input pen 4 are in aone-to-one correspondence with the cursor moving amounts. Hence, acharacter or graphic pattern can be input.

A case wherein a character is to be input will be described withreference to the drawing on the right side of FIG. 11. First, the cursoris moved to a desired position (one of the pen side SWs 42 a and 42 b isoperated, I→II: pen up state). After that, both of the pen side SWs 42 aand 42 b are operated to set the pen down state. A locus correspondingto the moving direction and moving amount of the pointing tool 4 remainson the screen as the pointing tool moves (II→III).

One of the pen side SWs 42 a and 42 b is turned off (the other pen sideSW is still operating, and the state wherein coordinates arecontinuously calculated is maintained: pen up state). The cursor ismoved to a desired position (III→IV). When the pen side SW in the OFFstate is operated again, a locus is input again from the position of thecursor that has moved (IV→V).

The operator must move the cursor to the first position II by moving thecoordinate input pen 4 while visually recognizing the cursor. However,he/she can input the character “

” in accordance with the absolute moving amount of the coordinate inputpen 4, i.e., by intuitively moving the hand or arm without visuallyrecognizing the cursor.

More specifically, when the first effective coordinate values during thecontinuous input period are used as a reference, coordinate valuesoutput during the continuous period have relative values. When viewedfrom the operator, the cursor moving amount corresponds to the movementof the hand or arm during that period. Hence, e.g., intuitive text inputoperation can be realized as if the coordinate input surface werepresent in the air.

As described above, the operator can control display information or addinformation of a character or graphic pattern by natural operation. Inaddition, many listeners can efficiently understand contents intended bythe speaker, i.e., the operator because the display information is nothidden.

In consideration of the convenience of the system having the largescreen, the absolute coordinate output form and the relative coordinateoutput form are automatically switched on the basis of calculatedcoordinate values. Since the operator need not to execute specialoperation (e.g., an operation of switching the output form of thecoordinate input apparatus using a switch or the like) and canconcentrate at presentation, an excellent operation environment can beprovided.

In the relative coordinate output form, the predetermined coordinatevalues (X1st,Y1st) to obtain the difference from the calculatedcoordinate value are defined as the first effective coordinate valuesduring the continuous input period.

The reason for this will be described in detail. It is easy for theoperator near the display area to recognize the boundary of the displayarea. However, the recognition becomes vague as the distance from thedisplay area becomes large. In addition, the first predetermined valuein the Z-axis direction can be a numerical value that can be set by theoperator. Even when the operator recognizes the numerical value, it isalmost difficult to discriminate the actual boundary.

On the other hand, the operator can recognize by inputting the firstcoordinates whether the absolute coordinate output form or relativecoordinate output form is being executed. This can easily be understoodfrom, e.g., the relationship between the position of the coordinateinput pen 4 and the position of the cursor.

However, if the operation is executed near the boundary where thecoordinate output form should be changed, the coordinate output formswitching operation is performed many times, resulting in difficulty inhandling for the operator.

In the first embodiment, it is determined by monitoring the period ofthe start signal radiated from coordinate input pen 4 whethercoordinates are being continuously input. The first effective coordinatevalues during the continuous input period are defined as referencecoordinate value (predetermined coordinate values (X1st,Y1st)). Duringthe continuous input period, differential coordinate values between thereference coordinate values and coordinate values calculated after thattime are output.

Accordingly, as long as one of the pen side SWs 42 a and 42 b (or thepen point SW 41) is operating, the reference coordinate values are held.Even in a coordinate input operation near the coordinate output formswitching area, the coordinate system for the operator and thecoordinate output form are fixed during the continuous input period.Hence, a coordinate input apparatus with good operability can beconstructed.

In other words, the operator can know the coordinate output form byinputting the coordinates of one point. While the coordinate inputoperation is continuously executed after that, the coordinate outputform is fixed. Hence, the operator need not be aware of the boundary forcoordinate output form switching after that.

In addition, the coordinate input apparatus according to the firstembodiment can output coordinate values or coordinate output forminformation (information representing the absolute coordinate outputform or relative coordinate output form) to an external device or thelike. For a coordinate input apparatus which outputs only absolutecoordinate values, the received coordinate values and the coordinatevalue reception timing (to determine whether coordinates arecontinuously input) are monitored on the side of an external device suchas a personal computer that receives the output result, therebyimplementing the processing as shown in FIG. 9. Even in this case, thesame effect as described above can be obtained.

The coordinate input apparatus according to the first embodiment detectsthe position coordinates of a sonic wave generation source by using anultrasonic wave. However, the present invention is not limited to thisscheme. The present invention can also be applied to any othercoordinate input method using an optical scheme or the like.

In the first embodiment, determination of the absolute coordinate outputform or relative coordinate output form is done by determining, on thebasis of calculated coordinate values, the distance from the displayapparatus 6 and whether the coordinate input pen is in the display areaof the display apparatus 6.

Hence, the range of the display area of the display apparatus 6 ispreferably set on the coordinate system of the coordinate inputapparatus. Especially, when a front projector is used as the displayapparatus 6, the manner the apparatus is installed changes in eachconference. When this point is taken into consideration, the displayarea is not always constant (the display size of the front projectordepends on the projection distance). Hence, an arrangement for settingthe display area is indispensable.

Even for a system having a fixed display screen (e.g., a rear projectoror plasma display), an adjustment process that is disadvantageous fromthe viewpoint of cost is necessary at the time of assembly in order tomake the coordinate system of the coordinate input apparatus coincidewith that of the display apparatus. An arrangement capable of settingthe display area after the coordinate input apparatus and displayapparatus are combined is advantageous in terms of manufacturing.

As described above, even when the coordinate input apparatus outputsonly absolute coordinates, and an external device such as a personalcomputer that receives the output from the coordinate input apparatusdetermines the operation mode, the display apparatus 6 is not alwaysfixed. Hence, an arrangement for notifying the personal computer of theset display area is necessary.

Procedures for setting the display area will be described below withreference to FIG. 12.

FIG. 12 is a flow chart showing display area setting processing of thecoordinate input apparatus according to the first embodiment of thepresent invention.

First, in step S602, a counter cont is set to 1. To detect thecoordinate values of the four corner portions of the display area, acoordinate input operation by the coordinate input pen 4 for anarbitrary corner portion is started. In step S603, it is determinedwhether an effective signal is detected. When no effective signal isdetected (NO in step S603), a standby state is set until an effectivesignal is detected. When an effective signal is detected (YES in stepS603), the flow advances to step S604 to calculate absolute coordinatevalues (Xcont,Ycont).

In step S605, it is determined whether the value of the counter cont islarger than 4. When the value of the counter cont is equal to or smallerthan 4 (NO in step S605), the flow returns to step S602 to increment thecounter cont by one. When the value of the counter cont is larger than 4(YES in step S605), the flow advances to step S606.

When the processing in steps S602 to S605 is repeated four times, theoutput coordinates of the four corner portions of the display area areobtained. These coordinate values are stored in the nonvolatile memoryof the arithmetic control circuit 1.

In this way, the coordinate values of the four corner portions of thedisplay area on the coordinate system of the coordinate input apparatusare obtained. For example, a value obtained by averaging theX-coordinate value at the upper left corner and that at the lower leftcorner can be defined as the boundary value in the X-direction on theleft side. Alternatively, a rectangular area formed by connecting thefour corner portions can be defined and used as conditions thatdetermine the display area.

As a detailed example, in step S606, Disp_X and Disp_Y in FIG. 6 can becalculated as the conditions that determine the display area.

In this example, the coordinate values of the four corner portions ofthe display area of the display apparatus 6 are stored in thenonvolatile memory of the arithmetic control circuit 1, thereby derivingthe display area. However, the present invention is not limited to this.For example, the display area may be derived from the coordinate valuesof three corner portions of the display apparatus 6. Alternatively, thecoordinate values of four sides may be detected by tracing the boundaryarea, and the display area may be set from the information.

As described above, according to the first embodiment, the distance fromthe display apparatus 6 and whether the pointing tool is in or outsidethe set display area of the display apparatus 6 are determined on thebasis of the position coordinates (X,Y,Z) of the coordinate input pen 4,thereby setting the coordinate output form (absolute coordinate outputform or relative coordinate output form) of the coordinate inputapparatus.

Accordingly, when the operator inputs coordinates by directly touchingthe input surface on the display screen, a character or graphic patternis added to the display screen as if there were the relationship betweenpaper and a pencil. In addition, by clicking or double-clicking on apredetermined icon displayed on the display screen, the displayinformation or display apparatus 6 is controlled. For example, apersonal computer can be caused to execute specific operation.

Even when the operator should perform the operation outside the displayarea or by remote control, the coordinate output form of the coordinateinput apparatus is changed to make it possible to perform the sameoperation at a position separated from the display screen. The speaker,i.e., the operator can do effective presentation while concentrating atthe contents of speech without being aware of switching of thecoordinate output form. On the other hand, listeners can efficientlyunderstand the contents of speech as well as the screen informationbecause the operator does not hide the screen.

Even near the boundary area where the coordinate output form should beswitched, the coordinate system and coordinate output form are fixedduring continuous input operation. Hence, a coordinate input apparatuswith good operability can be formed.

In addition, an arrangement for setting the display area of the displayapparatus is prepared. Even in a system using a front projector whosedisplay area changes in each conference, various effects as describedabove can be expected. Even in a system integrated with a displayapparatus (e.g., a large display apparatus such as a rear projector orplasma display), the assembly step can be simplified, and an inexpensiveapparatus can be implemented.

SECOND EMBODIMENT

The second embodiment is an application example of the first embodiment.An arrangement will be described in which when an operator is near thedisplay screen, a magnification factor (enlargement factor) is set forcalculated differential coordinate values to faithfully reproduce themoving direction and moving distance of a coordinate input pen 4 of theoperator (e.g., reproduce the moving distance and direction of thecursor), thereby providing an operation environment with goodoperability.

The operation of a coordinate input apparatus having the abovearrangement will be described below with reference to FIG. 13.

FIG. 13 is a flow chart for explaining the operation of the coordinateinput apparatus according to the second embodiment of the presentinvention.

The same step numbers as in the flow chart shown in FIG. 9 of the firstembodiment denote the same processes in the flow chart shown in FIG. 13of the second embodiment, and a detailed description thereof will beomitted.

In step S514, it is determined whether coordinates are continuouslyinput. When coordinates are not continuously input (NO in step S514),the processing is ended. When coordinates are continuously input (YES instep S514), the flow advances to step S515 to calculate thethree-dimensional coordinate values (X,Y,Z) of the coordinate input pen4. In step S509, at least the coordinate values (X,Y) of the calculatedcoordinate values (X,Y,Z) are directly output as specified values(absolute coordinate output form).

When coordinates are continuously input instep S511 (YES in step S511),the flow advances to step S512 to calculate the three-dimensionalposition coordinates (X,Y,Z) of the coordinate input pen 4. In step S513a, the differential coordinate values from predetermined coordinatevalues (X1st,Y1st) stored in step S510 are calculated. In addition, thedifferential coordinate value of the X-axis as the horizontal axis ofthe display screen is multiplied by an enlargement factor α to deriveand output relative coordinate values (αΔX,ΔY) (relative coordinateprocessing output form). Then, the flow returns to step S511.

The function/effect of multiplication of the enlargement factor α anddetails of the method of setting the enlargement factor α will bedescribed later.

In the second embodiment, when the Z-coordinate value is equal to orlarger than the first predetermined value in step S507 (remote input),the first effective coordinate values are stored as the predeterminedcoordinate values (X1st,Y1st) in step S516 (at this time, the currentlydisplayed cursor does not move). As the coordinate input pen 4 movesduring the continuous input period, the cursor is moved incorrespondence with the moving direction and distance of the coordinateinput pen. Even in remote control, good operability can be realized.

This is the routine in steps S517 to S519 (corresponding to the routinein steps S510 to S513 in FIG. 9 of the first embodiment). The calculateddifferential coordinate values are directly output. This step isdifferent from step S513 a because the calculated differentialcoordinate values described above are not multiplied by thepredetermined enlargement factor α.

With this arrangement, the coordinate output form is automaticallydetermined on the basis of the detected coordinate values in accordancewith the use situation of the operator. In addition, while coordinatesare continuously detected, the coordinate output form does not switch.Hence, an operation environment convenient for the operator can beprovided.

To discriminate whether the output coordinate values are the absolutecoordinate values (X,Y,Z), (αΔX,ΔY), or the relative coordinate values(ΔX,ΔY), information representing it may be output together with thespecified coordinate values.

The function/effect of setting the enlargement factor α in step S513 ofFIG. 13 will be described next with reference to FIG. 14.

Referring to FIG. 13, when the operator is operating the pointing tool 4near the display apparatus 6 serving as the coordinate input surfaceoutside the display area, the following condition is necessary formoving the cursor in accordance with the moving direction and the movingdistance of the coordinate input pen 4. That is, a virtual coordinateinput surface (as if the operator supposed an operation plane in thespace and moved the pointing tool 4 in the plane) supposed by theoperator must be parallel to the display area (i.e., the X-Y plane ofthe coordinate input apparatus and the virtual coordinate input surfacesupposed by the operator are parallel), as shown on the left side ofFIG. 14.

On the other hand, when the virtual coordinate input surface is notparallel to the display area, as shown on the right side of FIG. 14, themoving amount in the X-axis direction becomes small as compared to themoving amount of the coordinate input pen 4 (an X-axis moving amount X′on the virtual coordinate input surface of the operator and an X-axismoving amount X* of the cursor on the display screen have a relationX*=X′sinΘ). When the operator wants to control display information nearthe display screen, he/she operates while looking at the display screen.When the operator should suppose a virtual coordinate input surface,he/she generally supposes the state shown on the right side of FIG. 14then the state shown on the left side of FIG. 14. The operability isbetter in this state.

In the second embodiment, if it is determined that the operator islocated near the display screen (steps S510 to S513 a in FIG. 13), thedifferential coordinate value in the X-axis direction corresponding tothe horizontal direction of the display screen is multiplied by thepredetermined enlargement factor α to move the cursor. Accordingly, thecursor can reproduce its movement more faithfully in accordance with themoving amount and direction of the coordinate input pen 4.

The angle Θ made by the virtual coordinate input surface supposed by theoperator and the X-Y plane of the coordinate input apparatus will beexamined next.

The operator operates the coordinate input pen 4 to display desiredinformation or add information while always looking at the display area.For this reason, the angle Θ is almost determined by the direction ofthe operator. When the viewing angle of the display apparatus 6 is takeninto consideration, the value of the angle Θ is at least about 30°. Theangle becomes large as the distance from the display area increases.

In the second embodiment, the state in steps S516 to S519 in FIG. 13means that the operator is located at a position sufficiently separatedfrom the display area and can hardly move the cursor directly to adesired position, as described above. In this area, the operator movesthe coordinate input pen 4 while sequentially visually recognizing themovement of the cursor, thereby moving the cursor to the desiredposition.

In this area, if the position of the coordinate input pen 4 falls withinthe display area, the virtual coordinate input surface set by theoperator should be parallel to the display area. Even when the positionof the coordinate input pen 4 is outside the display area, the angle Θis almost 90° (the two surfaces are almost parallel). Hence, in thisarea, the enlargement factor α is not set.

To more faithfully reproduce the movement of the cursor according to themovement of the coordinate input pen 4, step S720 is added to the flowchart shown in FIG. 13, as shown in FIG. 15, to execute determinationbased on the second predetermined value. The area is divided into anarea relatively close to the display screen (Z<first predeterminedvalue), an area sufficiently separated from the display screen (Z>secondpredetermined value), and an intermediate area. In the close area(Z<first predetermined value) and intermediate area (first predeterminedvalue<Z<second predetermined value), the set value of the enlargementfactor is changed. In the close area, the angle Θ made by the virtualcoordinate input surface tends to be large. Hence, the enlargementfactor α in the close area may be made large.

The enlargement factor may be automatically set using the Z-coordinatevalue (the distance from the display screen) of the calculatedcoordinate values (X,Y,Z). The enlargement factor may be automaticallyset by obtaining the angle made by the X-Y plane and a line segment thatconnects the calculated coordinate values (X,Y,Z) and the coordinateorigin (FIG. 6). The operator may set a desired enlargement factor usingan application.

As described above, the operator can control display information or addinformation of a character or graphic pattern by natural operation. Inaddition, many listeners can efficiently understand contents intended bythe speaker, i.e., the operator because the display information is nothidden.

Even when the operation is executed in the absolute coordinate outputform (step S509), an operation of indicating the range of the relativecoordinate output form (step S519) or the relative coordinate processingoutput form (step S513 a) wherein relative coordinates are processed andoutput may be performed at a high probability.

For example, when absolute coordinates are detected in an area close tothe first predetermined value in the Z-axis direction, and the value inthe Z-axis direction exceeds the first predetermined value during theoperation, any change of the coordinate system undesirably confuses theoperator because he/she is executing a series of operations.

However, as in the second embodiment, when absolute coordinates arealways output independently of the Z-axis value during the continuousperiod when the absolute coordinates are output, the operator canconcentrate at the operation without being aware of the boundary.

The coordinate input apparatus according to the second embodimentdiscloses an arrangement which outputs coordinate values or coordinateoutput form information (information representing the absolutecoordinate output form, relative coordinate output form, or relativecoordinate processing output form) to an external device or the like.For a coordinate input apparatus which output only absolute coordinatevalues, the received coordinate values and the coordinate valuereception timing (to determine whether coordinates are continuouslyinput) are monitored on the side of an external device such as apersonal computer that receives the output result, thereby implementingthe processing as shown in FIG. 13. Even in this case, the same effectas described above can be obtained.

In the second embodiment, determination of the absolute coordinateoutput form, relative coordinate output form, or relative coordinateprocessing output form is done by determining, on the basis ofcalculated coordinate values, the distance from the display apparatus 6and whether the coordinate input pen is in the display area of thedisplay apparatus 6.

As described above, even when the coordinate input apparatus outputsonly absolute coordinates, and an external device such as a personalcomputer that receives the output from the coordinate input apparatusdetermines the operation mode, the display apparatus 6 is not alwaysfixed. Hence, an arrangement for notifying the personal computer of theset display area is necessary. The display area setting can be realizedby using the flow chart shown in FIG. 12 of the first embodiment.

As described above, according to the second embodiment, the distancefrom the display apparatus 6 and whether the coordinate input pen is inor outside the set display area of the display apparatus 6 aredetermined on the basis of the position coordinates (X,Y,Z) of thecoordinate input pen 4, thereby setting the coordinate output form (theabsolute coordinate output form, relative coordinate output from, orrelative coordinate processing output form) of the coordinate inputapparatus.

In addition to the effect described in the first embodiment, when theoperator is near the display screen, an enlargement factor is set forthe calculated differential coordinate values. With this arrangement,the moving direction and moving distance of the coordinate input pen 4of the operator can be faithfully reproduced (e.g., the moving distanceand direction of the cursor are reproduced), so an operation environmentwith good operability can be provided.

The embodiments have been described above in detail. The presentinvention may be applied to a system constituted by a plurality ofdevices or an apparatus comprising a single device.

The present invention also incorporates a case wherein its object isachieved by supplying a software program (a program corresponding to theflow charts illustrated in the embodiments) which implements thefunctions of the above-described embodiments to the system or apparatusdirectly or from a remote site and causing the computer of the system orapparatus to read out and execute the supplied program codes.

The program codes installed in the computer to implement the functionalprocessing of the present invention also implements the presentinvention by themselves. That is, the present invention alsoincorporates the computer program which implements the functionalprocessing of the present invention.

In this case, the program can employ any form such as an object code, aprogram executed by an interpreter, or script data to be supplied to anOS as far as the functions of the program can be obtained.

As the recording medium for supplying the program, for example, a floppydisk (registered trademark), hard disk, optical disk, magnetoopticaldisk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card,ROM, DVD (DVD-ROM or DVD-R), or the like can be used.

As another program supply method, a client computer may be connected toa homepage on the Internet using a browser, and the computer programitself of the present invention or a compressed file containing anautomatic install function may be downloaded from the homepage to arecording medium such as a hard disk. A program code that constitutesthe program of the present invention may be divided into a plurality offiles, and the files may be downloaded from different homepages. Thatis, a WWW server which causes a plurality of users to download a programfile that causes a computer to implement the functional processing ofthe present invention is also incorporated in the present invention.

The program of the present invention may be encrypted, stored in astorage medium such as a CD-ROM, and distributed to users. Any user whosatisfies predetermined conditions may be allowed to download keyinformation for decryption from a homepage through the Internet, executethe encrypted program using the key information, and install the programin the computer.

The functions of the above-described embodiments are implemented notonly when the readout program is executed by the computer but also whenthe OS or the like, which is running on the computer, performs part orall of actual processing on the basis of the instructions of theprogram.

The functions of the above-described embodiments are also implementedwhen the program read out from the storage medium is written in thememory of a function expansion board inserted into the computer or afunction expansion unit connected to the computer, and the CPU of thefunction expansion board or function expansion unit performs part or allof actual processing on the basis of the instructions of the program.

As many apparently widely different embodiments of the present inventioncan be made without departing from the spirit and scope thereof, it isto be understood that the invention is not limited to the specificembodiments thereof except as defined in the appended claims.

1. A coordinate input apparatus which detects position coordinates of acoordinate input pointing tool, comprising: calculation means forcalculating position coordinates in a space defined by first to thirdaxes of the coordinate input pointing tool; comparison means forcomparing a value of the first axis of the coordinate values calculatedby the calculation means with a predetermined value; determination meansfor determining whether the coordinate values of the second and thirdaxes of the coordinate values calculated by the calculation means fallwithin a predetermined range; and output means for outputting thecoordinate values calculated by the calculation means in a coordinateoutput form determined on the basis of a comparison result by thecomparison means and a determination result by the determination means,wherein the coordinate output form includes at least an absolutecoordinate output form in which the calculated coordinate values aredirectly output, and a relative coordinate output form in whichdifferential values between the calculated coordinate values andpredetermined coordinate values are output, wherein the predeterminedcoordinate values are first effective coordinate values during acontinuous input period in which coordinate input is continuouslyexecuted, and the apparatus further comprises storage means for storingthe first effective position coordinates calculated by said calculationmeans during the continuous input period as the predetermined coordinatevalues.
 2. A coordinate input apparatus which detects positioncoordinates of a coordinate input pointing tool, comprising: calculationmeans for calculating position coordinates in a space defined by firstto third axes of the coordinate input pointing tool; comparison meansfor comparing a value of the first axis of the coordinate valuescalculated by the calculation means with a predetermined value;determination means for determining whether the coordinate values of thesecond and third axes of the coordinate values calculated by thecalculation means fall within a predetermined range; and output meansfor outputting the coordinate values calculated by the calculation meansin a coordinate output form determined on the basis of a comparisonresult by the comparison means and a determination result by thedetermination means, wherein the coordinate output form includes atleast an absolute coordinate output form in which the calculatedcoordinate values are directly output, and a relative coordinate outputform in which differential values between the calculated coordinatevalues and predetermined coordinate values are output, wherein a displayapparatus overlaps the coordinate input apparatus, and the first axisdefines a normal direction to a display area plane of the displayapparatus, and the second and third axes define the display area planeof the display apparatus.
 3. A coordinate input apparatus which detectsposition coordinates of a coordinate input pointing tool, comprising:calculation means for calculating position coordinates in a spacedefined by first to third axes of the coordinate input pointing tool;comparison means for comparing a value of the first axis of thecoordinate values calculated by the calculation means with apredetermined value; determination means for determining whether thecoordinate values of the second and third axes of the coordinate valuescalculated by the calculation means fall within a predetermined range;and output means for outputting the coordinate values calculated by thecalculation means in a coordinate output form determined on the basis ofa comparison result by the comparison means and a determination resultby the determination means, wherein the coordinate output form includesat least an absolute coordinate output form in which the calculatedcoordinate values are directly output, and a relative coordinate outputform in which differential values between the calculated coordinatevalues and predetermined coordinate values are output, wherein thecoordinate output form further includes a relative coordinate processingoutput form in which at least a differential coordinate value betweenthe coordinate value of the second axis and the predetermined coordinatevalue is multiplied and output.
 4. The apparatus according to claim 3,wherein the apparatus further comprises a display apparatus which isoverlapped on the coordinate input apparatus, and the first axis definesa normal direction to a display area plane of the display apparatus, thesecond axis defines a horizontal direction of the display area plane ofthe display apparatus, and the third axis defines a vertical directionof the display area plane of the display apparatus.
 5. The apparatusaccording to claim 3, wherein a magnification factor of themultiplication of the differential coordinate value in the relativecoordinate processing output form is set on the basis of the coordinatevalue of the first axis.
 6. The apparatus according to claim 3, whereina magnification factor of the multiplication of the differentialcoordinate value in the relative coordinate processing output form isset on the basis of the position coordinates.
 7. A coordinate inputapparatus which detects position coordinates of a coordinate inputpointing tool and displays information based on the position coordinateson a display apparatus, comprising: calculation means for calculatingthe position coordinates of the coordinate input pointing tool;determination means for determining whether the position coordinatescalculated by said calculation means fall within a display area of thedisplay apparatus; determination means for determining on the basis of adetermination result whether the position coordinates or differentialcoordinate values between the position coordinates and predeterminedcoordinates should be output; and setting means for setting the displayarea of the display apparatus, wherein the apparatus further comprisesswitch state determination means for determining operative states of aplurality of switches of the coordinate input pointing tool, andcoordinate output control means for outputting the position coordinatesor the differential coordinate values between the position coordinatesand the predetermined coordinates or inhibits output of the positioncoordinates on the basis of the determination result of saiddetermination means and a determination result of said switch statedetermination means.
 8. The apparatus according to claim 7, wherein saidsetting means sets the display area on the basis of coordinate values ofat least three display area corner portions of the display area.
 9. Acoordinate input apparatus which detects position coordinates of acoordinate input pointing tool and displays information based on theposition coordinates on a display apparatus, comprising: calculationmeans for calculating the position coordinates of the coordinate inputpointing tool; determination means for determining whether the positioncoordinates calculated by said calculation means fall within a displayarea of the display apparatus; determination means for determining onthe basis of a determination result whether the position coordinates ordifferential coordinate values between the position coordinates andpredetermined coordinates should be output; and setting means forsetting the display area of the display apparatus, wherein thepredetermined coordinates are first effective coordinate values during acontinuous input period in which coordinate input is continuouslyexecuted, and the apparatus further comprises storage means for storingthe first effective position coordinates calculated by said calculationmeans during the continuous input period as the predeterminedcoordinates.
 10. The apparatus according to claim 9, wherein saidsetting means sets the display area on the basis of coordinate values ofat least three display area corner portions of the display area.
 11. Amethod for a coordinate input apparatus for detecting positioncoordinates of a coordinate input pointing tool, the method comprising:a calculation step of calculating position coordinates in a spacedefined by first to third axes of the coordinate input pointing tool; acomparison step of comparing a value of the first axis of the coordinatevalues calculated in the calculation step with a predetermined value; adetermination step of determining whether the coordinate values of thesecond and third axes of the coordinate values calculated in thecalculation step fall within a predetermined range; and an output stepof outputting the coordinate values calculated in the calculation stepin a coordinate output form determined on the basis of a comparisonresult in the comparison step and a determination result in thedetermination step, wherein the coordinate output form includes at leastan absolute coordinate output form in which the calculated coordinatevalues are directly output, and a relative coordinate output form inwhich differential values between the calculated coordinate values andpredetermined coordinate values are output, wherein the predeterminedcoordinate values are first effective coordinate values during acontinuous input period in which coordinate input is continuouslyexecuted, and the method further comprises a storage step for storingthe first effective position coordinates calculated in said calculationstep during the continuous input period as the predetermined coordinatevalues.
 12. A method for a coordinate input apparatus for detectingposition coordinates of a coordinate input pointing tool, the methodcomprising: a calculation step of calculating position coordinates in aspace defined by first to third axes of the coordinate input pointingtool; a comparison step of comparing a value of the first axis of thecoordinate values calculated in the calculation step with apredetermined value; a determination step of determining whether thecoordinate values of the second and third axes of the coordinate valuescalculated in the calculation step fall within a predetermined range;and an output step of outputting the coordinate values calculated in thecalculation step in a coordinate output form determined on the basis ofa comparison result in the comparison step and a determination result inthe determination step, wherein the coordinate output form includes atleast an absolute coordinate output form in which the calculatedcoordinate values are directly output, and a relative coordinate outputform in which differential values between the calculated coordinatevalues and predetermined coordinate values are output, wherein a displayapparatus overlaps the coordinate input apparatus, and the first axisdefines a normal direction to a display area plane of the displayapparatus, and the second and third axes define the display area planeof the display apparatus.
 13. A method for a coordinate input apparatusfor detecting position coordinates of a coordinate input pointing tool,the method comprising: a calculation step of calculating positioncoordinates in a space defined by first to third axes of the coordinateinput pointing tool; a comparison step of comparing a value of the firstaxis of the coordinate values calculated in the calculation step with apredetermined value; a determination step of determining whether thecoordinate values of the second and third axes of the coordinate valuescalculated in the calculation step fall within a predetermined range;and an output step of outputting the coordinate values calculated in thecalculation step in a coordinate output form determined on the basis ofa comparison result in the comparison step and a determination result inthe determination step, wherein the coordinate output form includes atleast an absolute coordinate output form in which the calculatedcoordinate values are directly output, and a relative coordinate outputform in which differential values between the calculated coordinatevalues and predetermined coordinate values are output, wherein thecoordinate output form further includes a relative coordinate processingoutput form in which at least a differential coordinate value betweenthe coordinate value of the second axis and the predetermined coordinatevalue is multiplied and output.
 14. A method for a coordinate inputapparatus for detecting position coordinates of a coordinate inputpointing tool and displaying information based on the positioncoordinates on a display apparatus, the method comprising: a calculationstep of calculating the position coordinates of the coordinate inputpointing tool; a determination step of determining whether the positioncoordinates calculated in said calculation step fall within a displayarea of the display apparatus; a determination step of determining onthe basis of a determination result whether the position coordinates ordifferential coordinate values between the position coordinates andpredetermined coordinates should be output; and a setting step ofsetting the display area of the display apparatus, wherein the methodfurther comprises a switch state determination step of determiningoperative states of a plurality of switches of the coordinate inputpointing tool, and a coordinate output control step of outputting theposition coordinates or the differential coordinate values between theposition coordinates and the predetermined coordinates or inhibitsoutput of the position coordinates on the basis of the determinationresult of said determination step and a determination result of saidswitch state determination step.
 15. A method for a coordinate inputapparatus for detecting position coordinates of a coordinate inputpointing tool and displaying information based on the positioncoordinates on a display apparatus, the method comprising: a calculationstep of calculating the position coordinates of the coordinate inputpointing tool; a determination step of determining whether the positioncoordinates calculated in said calculation step fall within a displayarea of the display apparatus; a determination step of determining onthe basis of a determination result whether the position coordinates ordifferential coordinate values between the position coordinates andpredetermined coordinates should be output; and a setting step ofsetting the display area of the display apparatus, wherein thepredetermined coordinates are first effective coordinate values during acontinuous input period in which coordinate input is continuouslyexecuted, and the method further comprises a storage step of storing thefirst effective position coordinates calculated in said calculation stepduring the continuous input period as the predetermined coordinates. 16.A computer-executable program stored on a computer-readable medium, theprogram for a coordinate input apparatus for detecting positioncoordinates of a coordinate input pointing tool, the program comprisingcode for: a calculation step of calculating position coordinates in aspace defined by first to third axes of the coordinate input pointingtool; a comparison step of comparing a value of the first axis of thecoordinate values calculated in the calculation step with apredetermined value; a determination step of determining whether thecoordinate values of the second and third axes of the coordinate valuescalculated in the calculation step fall within a predetermined range;and an output step of outputting the coordinate values calculated in thecalculation step in a coordinate output form determined on the basis ofa comparison result in the comparison step and a determination result inthe determination step, wherein the coordinate output form includes atleast an absolute coordinate output form in which the calculatedcoordinate values are directly output, and a relative coordinate outputform in which differential values between the calculated coordinatevalues and predetermined coordinate values are output, wherein thepredetermined coordinate values are first effective coordinate valuesduring a continuous input period in which coordinate input iscontinuously executed, and the program further comprises code for astorage step for storing the first effective position coordinatescalculated in said calculation step during the continuous input periodas the predetermined coordinate values.
 17. A computer-executableprogram stored on a computer-readable medium, the program for acoordinate input apparatus for detecting position coordinates of acoordinate input pointing tool, the program comprising code for: acalculation step of calculating position coordinates in a space definedby first to third axes of the coordinate input pointing tool; acomparison step of comparing a value of the first axis of the coordinatevalues calculated in the calculation step with a predetermined value; adetermination step of determining whether the coordinate values of thesecond and third axes of the coordinate values calculated in thecalculation step fall within a predetermined range; and an output stepof outputting the coordinate values calculated in the calculation stepin a coordinate output form determined on the basis of a comparisonresult in the comparison step and a determination result in thedetermination step, wherein the coordinate output form includes at leastan absolute coordinate output form in which the calculated coordinatevalues are directly output, and a relative coordinate output form inwhich differential values between the calculated coordinate values andpredetermined coordinate values are output, wherein a display apparatusoverlaps the coordinate input apparatus, and the first axis defines anormal direction to a display area plane of the display apparatus, andthe second and third axes define the display area plane of the displayapparatus.
 18. A computer-executable program stored on acomputer-readable medium, the program for a coordinate input apparatusfor detecting position coordinates of a coordinate input pointing tool,the program comprising code for: a calculation step of calculatingposition coordinates in a space defined by first to third axes of thecoordinate input pointing tool; a comparison step of comparing a valueof the first axis of the coordinate values calculated in the calculationstep with a predetermined value; a determination step of determiningwhether the coordinate values of the second and third axes of thecoordinate values calculated in the calculation step fall within apredetermined range; and an output step of outputting the coordinatevalues calculated in the calculation step in a coordinate output formdetermined on the basis of a comparison result in the comparison stepand a determination result in the determination step, wherein thecoordinate output form includes at least an absolute coordinate outputform in which the calculated coordinate values are directly output, anda relative coordinate output form in which differential values betweenthe calculated coordinate values and predetermined coordinate values areoutput, wherein the coordinate output form further includes a relativecoordinate processing output form in which at least a differentialcoordinate value between the coordinate value of the second axis and thepredetermined coordinate value is multiplied and output.
 19. Acomputer-executable program stored on a computer-readable medium, theprogram for a coordinate input apparatus for detecting positioncoordinates of a coordinate input pointing tool and displayinginformation based on the position coordinates on a display apparatus,the program comprising code for: a calculation step of calculating theposition coordinates of the coordinate input pointing tool; adetermination step of determining whether the position coordinatescalculated in said calculation step fall within a display area of thedisplay apparatus; a determination step of determining on the basis of adetermination result whether the position coordinates or differentialcoordinate values between the position coordinates and predeterminedcoordinates should be output; and a setting step of setting the displayarea of the display apparatus, wherein the program further comprisescode for a switch state determination step of determining operativestates of a plurality of switches of the coordinate input pointing tool,and a coordinate output control step of outputting the positioncoordinates or the differential coordinate values between the positioncoordinates and the predetermined coordinates or inhibits output of theposition coordinates on the basis of the determination result of saiddetermination step and a determination result of said switch statedetermination step.
 20. A computer-executable program stored on acomputer-readable medium, the program for a coordinate input apparatusfor detecting position coordinates of a coordinate input pointing tooland displaying information based on the position coordinates on adisplay apparatus, the program comprising code for: a calculation stepof calculating the position coordinates of the coordinate input pointingtool; a determination step of determining whether the positioncoordinates calculated in said calculation step fall within a displayarea of the display apparatus; a determination step of determining onthe basis of a determination result whether the position coordinates ordifferential coordinate values between the position coordinates andpredetermined coordinates should be output; and a setting step ofsetting the display area of the display apparatus, wherein thepredetermined coordinates are first effective coordinate values during acontinuous input period in which coordinate input is continuouslyexecuted, and the program further comprises code for a storage step ofstoring the first effective position coordinates calculated in saidcalculation step during the continuous input period as the predeterminedcoordinates.